import DataType from 'sequelize';
import { sequelize } from '../../sequelize';
const FirewallRule = sequelize.define('FirewallRule', {

  type: {
    type: new DataType.VIRTUAL(DataType.STRING),
    get() {
      return 'FirewallRuleType';
    },
  },

  id: {
    type: DataType.BIGINT,
    primaryKey: true,
    autoIncrement: true,
  },

  name: {
    type: DataType.STRING,
  },

  src: {
    type: DataType.STRING,
    defaultValue: '*',
  },

  src_ip: {
    type: DataType.STRING,
    defaultValue: '*',
  },

  src_port: {
    type: DataType.STRING,
    defaultValue: '*',
  },

  dst: {
    type: DataType.STRING,
    defaultValue: '*',
  },

  dst_ip: {
    type: DataType.STRING,
    defaultValue: '*',
  },

  dst_port: {
    type: DataType.STRING,
    defaultValue: '*',
  },

  protocol: {
    type: DataType.INTEGER,
    defaultValue: 0,            // 0 ~ 5
  },

  target: {
    type: DataType.INTEGER,
    defaultValue: 2,            // 0 ~ 3
  },

  family: {
    type: DataType.INTEGER,
    defaultValue: 0,            // 0 ~ 2
  },

  wtp_id: {
    type: DataType.INTEGER,
  },

});

export default FirewallRule;
